Method and system for matching appropriate content with users by matching content tags and profiles

ABSTRACT

A method and system is provided for classifying and labeling information content and also for profiling a user for accessing the information content, both using a coordinated labeling technique so that content from multiple sources may be searched, identified and/or presented to the user according to the user&#39;s profile. This technique provides an ongoing update of information content and sources while filtering out unnecessary information that is irrelevant to the user&#39;s profile, resulting in focused availability of information to the user. The user profile is matched with content of interest and matching content information may automatically be updated and made available to a user, in conformity with the user&#39;s profile. Content providers may now jointly use a common labeling scheme to improve the experience of their users and to provide content providers a technique to associate users with common facets of classification.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The invention generally relates to providing customized content to auser and, more particularly, providing Web content to a user based onprofiled user information and profiled Web content.

2. Background Description

A problem of content overload has become a burden to users ofinformation in many situations. One current situation in which peopleface content overload is the World Wide Web, but the problem exists inother areas as well, such as, for example, books, magazines, libraries,and entertainment, both video and audio.

Current attempts to solve this problem originate with the contentproviders. Content providers find it expedient to organize and offertheir content in collections suited to their needs and the array ofcontent they offer, with limited attention to users' needs. Contentproviders therefore offer multiple independent sources (often websites). This approach puts the burden on an individual to learn andunderstand all the sites/sources that may exist concerning a topic orconcept. The individual typically must wade through vast collections ofcontent to discover that which is of interest and then the individualtypically is burdened with all that is necessary to maintain links orpointers to the collections of content of interest. Unfortunately,maintaining the links or pointers quickly becomes obsolete as thecollections change, so the user is forced to relearn, update, andunderstand the sources again and again. Additionally, users often mustalso correlate information across the many sources/sites that arediscovered with related information relevant to the user's needs.

On the World Wide Web, current solutions typically involve contentproviders creating their own web sites, sometimes more than one fordifferent audiences even when those audiences and interests overlap. Thesites typically have content the users want or need and users generallywant content from the many sites. However, the sites have structureswhich may or may not be consistent, but users must neverthelessunderstand all the different structures. Users typically would prefer totake slices of content from across those sites, but they cannot do soand users cannot easily maintain links and pointers into those sitesbecause the sites change continuously. Therefore, convenient access tothe disassociated information is greatly inhibited and hinders readyidentification and/or retrieval of the information, particularly sincethe content is rarely organized to provide uniform search and access tothe disparate information based on users' profiles.

SUMMARY OF THE INVENTION

In an aspect of the invention, a method for providing information to auser is made available. The method comprises the steps of defining oneor more user profile vectors (UPVs) based on user information anddefining one or more content tagging vectors (CTVs) based upon contentobjects. The method also provides generating a list of matching contentidentifiers (MCIs) which is associated with relevant information contentby comparing the UPVs and the CTVs and comparing the list of MCIs andproviding the relevant content information based on a triggering event.

In another aspect of the invention, a method for managing contentinformation is provided. The method comprises tagging user profileinformation as categories and tagging content information as categories.The method includes comparing the tagged user profile information andthe tagged content information categories to determine a common set ofcategories and retrieving the content information associated with thecommon set of categories. Also included is the step of updating a user'sworkstation with the retrieved content upon a triggering event.

In another aspect of the invention, a method for providing categorizedinformation to a user is provided. The method comprises the steps oftagging a user profile having descriptors of at least a user's interestsand a user's responsibilities with at least one of a time stamp and oneor more categories. Also included are the steps of providing informationcontent by labeling one or more content objects and tagging theinformation content with a time stamp and the one or more categories,detecting a change in at least one of the user profile and the one ormore content objects based on at least one of the time stamp and the oneor more categories and updating a workstation based on the detectedchange.

In another aspect of the invention, a method for providing informationto a user is provided. The method comprises developing user profileinformation with category tags, developing content profile informationwith category tags and comparing the combined set of tags to determinematching tags. The method includes retrieving the content associatedwith the matching tags and updating a workstation with the retrievedcontent based on a triggering event.

In another aspect of the invention a system for providing information toa user is provided. The system comprises a means for defining one ormore user profile vectors (UPVs) based on user information and a meansfor defining one or more content tagging vectors (CTVs) based uponcontent objects. The invention also comprises a means for comparing theone or more UPVs and the one or more CTVs to generate a list of matchingcontent identifiers (MCIs) which is associated with relevant informationcontent and a means for providing the relevant content information basedon a triggering event.

Another aspect of the invention includes a computer program productcomprising a computer usable medium having readable program codeembodied in the medium, the computer program product includes at leastone component to tag a user profile having descriptors of at least auser's interests and a user's responsibilities with at least one of atime stamp and one or more categories and to provide information contentby labeling one or more content objects and tagging the informationcontent with a time stamp and the one or more categories. The componentis also provided to detect a change in at least one of the user profileand the one or more content objects based on at least one of the timestamp and the one or more categories, and update a workstation based onthe detected changes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an embodiment of the invention;

FIG. 2 is a block diagram of an embodiment of the invention;

FIG. 3 is an embodiment of a graphical user interface (GUI) forprompting and receiving user profile information, according to theinvention;

FIG. 4 is an embodiment of resulting user profile categories shown intabular format with supporting information, according to the invention;

FIG. 5 is an embodiment of a content publishing form for acquiringcontent categorization information, according to the invention;

FIGS. 6A and 6B are an embodiment of a content information table createdto characterize a content object, according to the invention;

FIG. 7A is an illustrative diagram showing an exemplary logicalorganization of content based on a user's interests, classification orresponsibilities, according to the invention;

FIG. 7B is an embodiment of a GUI for navigating content, according tothe invention;

FIG. 7C is an embodiment of a navigation page, according to theinvention;

FIG. 8 is an embodiment of the invention showing steps of usercategorization;

FIG. 9 is an embodiment of the invention showing steps of contentcategorization;

FIG. 10 is an embodiment of the invention showing steps ofcategorization matching; and

FIG. 11 is an embodiment of the invention showing steps of usingcategorization matching on a client.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The invention is directed to a method and system for classifying andlabeling information content (e.g., sets or subsets of websites,databases, web pages, general content objects such as text articles,audio files, video files, or the like) and also for profiling a user(e.g., interests and/or responsibilities) for accessing the informationcontent, both using a coordinated labeling and categorization techniqueso that content from multiple sources may be searched, identified and/orpresented to the user according to the user's profile. This techniqueprovides, in one embodiment, an ongoing update of information contentand sources while at the same time filtering out unnecessary informationthat is irrelevant to the user's profile, resulting in more focusedavailability of content information to the user.

In one aspect of the invention, a technique provided by the inventionmatches user's interests as defined by a user profile with informationcontent as tagged by content creators reflective of categories employedwithin a tagged user profile. The invention provides mechanisms toorganize this information and automatically update current contentinformation, even when the information changes. The system and methodmakes the updated content available to a user, in conformity with theuser's profile. The invention also establishes techniques for contentproviders to associate users and information via common facets ofclassification.

An example of an application of this technique may be in matching users'interests/responsibilities (as defined by a profile) with contentavailable on the World Wide Web. In one application, the content madeavailable may be on one or more sites whose owners of the content areprepared to work together. However, any type of network and any numberof content owners may be involved. The invention may also be applied inother areas as well, such as, for example, literature or video contentinformation. The invention allows content providers to recognize theirjoint interest in working together to improve the experience of theirusers.

FIG. 1 is a block diagram of an embodiment of the invention, generallydenoted by reference numeral 100. The invention includes at least oneuser's workstation 110 (i.e., a client, a workstation, or clientworkstation) which typically has a memory device (for example, a harddrive, DVD drive, or the like). The user workstation 110 may beconnected via a network 115 (e.g., a local area network (LAN), a widearea network (WAN), wireless network, or the Internet) to a server 120.Also included may be at least one content provider 140 which maycomprise one or more content providers 145 and/or a content approver150. In embodiments, the content provider 145 and content approver 150may be the same entity and may also be a user workstation.

The server 120 may optionally comprise a plurality of servers 125 and130. For illustrative purposes, server 125 is representative of contentsources which one of ordinary skill in the art would recognize may beany number of servers and may be different content sources such as, forexample, WebSphere, DB2 databases, local directory access protocol(LDAP), Web sites, or the like. Server 130 represents a server havingcontent submission tool(s) for processing content submission (e.g., sitepublisher, content creation tools, or the like) and, in embodiments, maybe a part of, or the same as, server 125.

According to the invention, a user profile may be created that profilesa user's interests or responsibility areas (for example, a user may be afinancial trader responsible for aspects of the automotive industry inEurope and the United States, or the like). In this way, the profilesuccinctly provides a basis for tags that define the areas of contentinterest and/or responsibility area (in this example, finance,automotive, Europe and United States) which may be provided to theserver 125.

Similarly, content providers 145 categorize/profile their content usinga tagging technique (described more fully below) that is reflective andconsistent with the profile tagging associated with the user profile. Inembodiments, content approvers 150 may authorize creation or submissionof the content provided by the content providers 145. A contentsubmission tool 135, which may be resident on the server 130, providesfor submission of new content, tagged according to the invention, forsubsequent availability searching, update (including automatic update)and access by users. For explanation purposes, the user profiling andcontent profiling are each discussed independently and then as mutuallycooperating aspects of embodiments of the invention.

FIG. 2 is a block diagram of an embodiment of the invention. FIG. 2 (aswell as FIGS. 8-11) may also be representative of flow or state diagramsof embodiments showing steps of the invention. The steps of FIG. 2 arerepresented by reference numerals 1-8. The steps of FIG. 2 (as well asFIGS. 8-11) may be implemented on computer program code in combinationwith the appropriate hardware. This computer program code may be storedon storage media such as a diskette, hard disk, CD-ROM, DVD-ROM or tape,as well as a memory storage device or collection of memory storagedevices such as read-only memory (ROM) or random access memory (RAM).

Referring to the embodiment of FIG. 2, generally denoted by referencenumeral 200, the user workstation 110 is shown interacting with theserver 125 when a user accesses or requests information content, such asfor example, web sites or databases. Server 125 comprises severalcomponents including a user profile (UP) 205 that may be created at theuser workstation 110 for defining the categories of the user's interestor responsibilities, and at step 1, uploaded to the server 125 when auser accesses information content (e.g., by logging onto the server,searching or submitting inquiries). At step 2, the user profiles 205 maybe used to create user profile vectors (UPV) 210 which define categoriesand characteristics of a user's interest. These categories arepre-defined categories that may be used during the user profiling, andthese categories are common to a similar categorization process used bycontent providers as described below. In embodiments, other componentsthat may comprise server 125 include Content Objects (CO) 215, ContentTag Vectors (CTV) 220, Matching Content Identifiers (MCI) 225, UserContent Update Package (UCUP) 230, and Stored Content Identifiers (SCI)235.

User profiles 205 may be collected at various times, e.g., initial useraccess to new content, or by change in user responsibility assignments,or by a third party who has proxy influence with the user such as ahuman resources department, to “profile” a user and may includeinformation concerning a user's geographic interests that is relevant toa user. This information may include, for example, what countries,states, continents, combinations, or other geographic subsets. Also,industry specific interests may be included which define the user'sinterest in one or more industries. His industry information mayinclude, for example, automotive, financial, communications,educational, governmental, energy, or similar industries. Inembodiments, expert contacts interest may also be included. Expertcontacts are another example of a user's interest. For example, it mayindicate the type of contact information the user wants to see in thecontent the user may be viewing. This may be analogous to help contactsin a website. An expert contact concerns matching the user with supportexperts to which the user is entitled. Experts typically are responsibleto help certain groups of users (in this case, sales teams of the twotypes). The user profile captures a tag as to which group of expertsthat may be associated with the user.

In embodiments, any dimension of interest or relevance may be used. Theexamples used herein include industry and geographic relevancedimensions. Other examples may include content type, subject matter,technical topics, organization, organizational relationships, etc. Theexamples used herein also use an organizational relationship in matchingexpert contacts with users.

Typically, user profile vectors 210 establish a uniform categorizationtechnique so that when a user subsequently initiates queries forinformation, the UPVs may automatically define and place bounds on thescope of a query to content information that may have also beencategorized by the same categorization technique by content providers.Geographic and industry values, as defined in a user profile 205, maytypically be combined to generate a full list of vectors that remain ineffect until a user, or other catalyst such as a proxy influence, causestheir profile to change. For example, if there were four geographicvalues and three industry values, there typically would be twelveprofile vectors associated with the user (i.e., twelve UPVs). Thevectors define a domain of information. By providing a profile bygeographic and industry domain, or the like, information may be moreeasily monitored and retrieved for a given user based upon the user'sneeds, interests or responsibilities. This increases focus or awarenessof information pertinent to a user while at the same time filteringunnecessary information for the user. User profiles may be acquired asdiscussed in relation to FIG. 3, below.

Still referring to FIG. 2, a content submission tool 135 may be used toacquire, create, update or delete content information by a contentprovider. The content submission tool 135 classifies and tags a contentobject (e.g., a unique component, file, image, attachment, any physicalentity or part of an entity) for posting and availability, which may bea scheduled function at a regular interval or manually initiated. Thecategorization and tagging is similar to the process employed by theuser profile sequence, described previously. The categories employed arecommon categories as used during the user profiling and categorizationdescribed previously. This tagging is maintained in a database so thateach content object that is tagged may be located by matching known tagscorresponding to tags in a user profile vector. Content categorizationmay be acquired, for example, with a content publishing form asdiscussed in relation to FIG. 5. At step 3, content objects 215 may beuploaded to server 125. At step 4, the content objects may becategorized and tagged to produce content tag vectors (CTV) 220 whichparallels the categorization and tagging performed during a user profilesequence of steps 1 and 2, employing common categories.

At step 5, user profile vectors 210 and content tag vectors 220 areprocessed by matching corresponding tags in the user profile vectors 210and content tag vectors 220 resulting in the generation of acomprehensive list of currently matching content identifiers 225 (MCI).If there is a match of tags then the content object associated with thecomprehensive list of MCI is intended and provided to the user undercertain conditions This step may be initiated due to a scheduled process(e.g., every three hours, once a day, or some other time period) or maybe initiated on demand by a user (e.g., a user connected to server 125and submission of a new profile or via a query). Any matching contentidentifiers (MCI) are reviewed for whether any new updates are required.This may be accomplished by comparing the “last update” time stamp onmatching tags to discover whether either a change in user profile hasoccurred or a change to the content object has occurred relative to oneanother. Time stamp differences trigger updates to a user.

In embodiments, the values used in corresponding tag vectors, i.e., theprofile vectors 210 or content tag vectors 220, may include “don't care”values so that a comparison always returns true, i.e., always a match.The “don't care” value may be particularly useful for hierarchicalrelationships to include more than one level of a hierarchy in a simplemanner.

At step 6, based on any MCIs 225, at least one user content updatepackage (UCUP) 230 is compiled based on the MCIs with differences intime stamps from those in the SCIs for the user and the MCIs which donot appear in the SCIs for the user. A UCUP 230 may be created fordelivery to a user workstation 110 that is either currently on-line orassociated with a known user or is queued for future delivery when theworkstation 110 (or user) logs onto the network. In embodiments, averification check (e.g., an audit) may be performed on a user'sworkstation 110 to verify the accuracy of the SCI 235 database. The SCIdatabase typically mirrors the content that is on a user's workstation.A check may also be performed to verify that no confidential informationis being included for a user with an unclassified rating. The UCUP 230may also include deletion commands to delete information content on theuser's workstation 110 that may be out-of-date or may no longer bepertinent to the user, for example, due to changes in a user's profile(e.g., new or changed responsibilities or interests).

At step 7, an UCUP 230 may be sent to the user's workstation 110 basedon differences (by comparison) in an MCI and a stored contentidentifiers (SCI) of step 6. The SCI is reflective of what is currentlyon a user's workstation, such that updated information content includingrelevant content objects 215 may be delivered to the user. This makescurrent the information stored on the workstation 110, according to auser's profile. At step 8, the SCI may also be updated to reflect thelatest update to the user's workstation.

Any step 1-8 may be performed either on a scheduled basis or on a demandbasis. It should thus be understood that the components and accompanyingsteps of FIG. 2 may work independently or in combination. Also thenumbering of the steps 1-8 should not be considered a limiting featurein that the order and performance of these steps do not necessarily haveto be performed in the sequence of 1-8. One or more of the steps 1-8 mayoperate asynchronously or synchronously in relation to one another withqueuing structures or other timing techniques employed as necessary.

For example, a user 110 may choose to cause an update to a profile andlog onto the network, or, an automatic process may submit changes to auser's profile on a scheduled basis. Furthermore, it may be possible,for example, for an UCUP 230 to be delivered to a user's workstation 110due to a scheduled update, followed immediately by another update to achange in a user's profile occurring slightly after the scheduledupdate, both in one user session. Also, queuing techniques may beemployed to accommodate time based activity at any step. For example, aUCUP may be queued for delivery until a user logs on at workstation 110.Furthermore, the server 125 may re-initiate a process if the processdoes not complete, for example, if a user logs off before a completeUCUP has been delivered. It should now be apparent that updates to theuser may be due to a triggering event which may include a user log-on, ascheduled process, a change in user profile, a difference in timestamps, and a change in content information.

FIG. 3 is an embodiment of a graphical user interface (GUI) forprompting and receiving user profile information, generally denoted byreference numeral 300. As illustrated by FIG. 3, user profiles may beacquired by prompting a user for information or supplied by otherentities when appropriate. A user profile may be created on the userworkstation 110 whenever a new need arise to re-characterize the user'sinterests or responsibilities, including a first time or subsequentprofiling. The GUI 300 may also be used by other proxy entities such as,for example, another person or organization responsible for assigningand defining a user's responsibilities or organization affiliation.Often, this may be a human resources department, or, perhaps, managersperforming management functions.

As further shown in FIG. 3, the GUI 300 includes prompts 305, 310, and315 for identifying such categories of interests as geographic,industry, or expert support for a user, respectively. These categories305, 310, and 315 are illustrative examples and one of ordinary skill inthe art would recognize that other similar categories are possible andcontemplated by the invention. Each of these categories may be assigneda value which may then be used to create UPVs. In this illustrativeexample, selected geographic interests 305 include “West-Western US” and“Central-Central US.” Selected industry interests 310 include “retail”and selected expert support 315 include “sector sales”, in addition, theuser may select small and medium business sales support. Selection ofeither expert support 315 option provides contact information asavailable such as email or phone contacts.

FIG. 4 is an illustrative embodiment of resulting user profilecategories and characteristics shown illustratively in tabular formatwith supporting information, including selections of FIG. 3, andgenerally denoted by reference numeral 400. This tabulation compilationsummarizes a user's profile and the table may be used to summarize theuser's preferences and maintained in a database (e.g., by server 125).Also, each row of the table may be indicative of a user profile vector(the table collectively may also be known as the UPV). Included isuser-id 405 that provides the user-id of the user profiled. A classidentifier 410 denotes whether each entry of the profile is unclassifiedor classified. A classified indication enables security controls overactivity associated with the information queries. An audience category415 identifies the audience to which a specific row applies, in thisexample, a sector and relates to the expert contacts 315 of FIG. 3. Ageographic identifier 420 denotes the geographic region that aparticular row applies, and includes in this example, both “Americas”and “Global” indicators. Geographic information may be defined inhierarchical manner as to provide specific focus on geographic regionsor countries.

Still referring to FIG. 4, a region category 425 provides an indicationif a subset of the geographic region applies per row and in thisexample, includes both “West” and “Centr” (central) section of ageographic region. A country category 430 provides indications ofparticular countries, if applicable. In this example, no countries areindicated. A sector category 435 indicates which industry sector theprofile is associated. In this example, “distribution” sector isselected. Other sectors may include, for example, but are not limitedto, communications, financial services, public, industrial, or similarsectors. An industry category 440 provides an indication of theparticular industry associated with a row. In this example, “retail” hasbeen selected. Other sectors may include, for example, travel andtransportation, consumer products, or the like. Any pre-defined interestdimension may be included in the user profile categories.

A language category 445 may be selected to denote which language that isdesired for information to be presented. Any appropriate language ispossible. A row status 450 indicates whether the row is new or not(i.e., “new” indicating a new interest) and may be used in conjunctionwith LST_Change_TM 455 (last change time) which may be a time stampdating when the last update to this row occurred. If a row is new (i.e.,row status 450=New), then this time stamp typically reflects apre-selected date stamp (perhaps a NULL value) that causes contentupdates to a user to be non-constrained and any content informationlocated in a search or query may be captured without limit to a previousupdate date, since no updates have previously occurred. In effect, thiscaptures any and all relevant content information. On the other hand, ifthe row status 450 is marked as “updated”, or similar marker, then thedate filed in LST_CHANGE_TM 455 is used to limit a timeframe on anysearches or queries for a user update. Only content that has been addedor updated by a content provider since the last update period isrelevant as a candidate for update to a user. The information of FIG. 4may be maintained in a database (e.g., DB2, or the like) at the user'scomputer (e.g., 110) and passed to server 120 during a next query oraccess where a copy may also be maintained. Alternatively, theinformation of FIG. 4 may be maintained solely at server 120.

The values associated with geography 420 may reflect a hierarchicalstructure from greater to lesser breadth; geography is superior toregion, which is in turn superior to country. All subordinate values maybe proper subsets of superior values. For example, selection of a regionimplies a selection of geography as well as in conjunction with theregion. Selection of a country implies selection of the region by itselfas well as in conjunction with the country. User profile vectors mayreflect this hierarchical structure so that a vector for each level ofthe hierarchy may be generated with more focused content associated withlesser breadth vectors (i.e., lower in the hierarchy).

The following is an illustrative extensible markup language (xml)listing reflective, in part, of the example of FIG. 3:

<?xml version=“1.0” encoding =“VTF-8” standalone=“yes”?> -<userprofile> - <profkey profdate=“2004-03-31 07:43:54.171”>  <Audvalue=“Sect”/> <Lang value=“Eng” /> - <Geo value=“Americas”> <Regionvalue=“Centr”/>  </Geo> <Geo value=“Global”/> - <Sect value=“Distr”><Ind value=“Retail” />  </Sect> </profkey> </userprofile>

The xml listing indicates that this form is completed “standalone”(e.g., on a users computer and not a server), the date of the profile is“Mar. 31, 2004 with time of “07:43:54.171.” Other fields are created anddefined such as the “Aud”, “Lang”, “Geo”, “Region”, “Ind” and “Sect”values as described in relation to FIG. 3. This information may becommunicated to the server 125 (or alternatively, in embodiments, may becreated directly on server 125) for describing a user profile.

FIG. 5 is an illustrative embodiment of a content publishing form (e.g.,a GUI) for acquiring content categorization information, generallydenoted by reference numeral 500. Content providers may employ the GUI500 when publishing new content or updating or deleting old content. Theform establishes categories that may include prompts 505 for selectionof an industry sector and may include such categories, as for example,communications, distribution, financial systems, industrial, public, SMBEMEA (Small and Medium Business, Europe, Middle East and Africa), apredefined category, or the like.

Industry prompts 510 may select applicable industries that the contentmay be associated with such as, for example, consumer products, retail,travel and transportation, or the like. Geographies prompt 515 mayselect where to publish the content, for example, globally or specificgeographies. If specific geographies, then specific geographies prompt520 may select specific geographic preferences such as a geographic area(e.g., Americas, Asia Pacific, EMEA, or the like). Regions prompt 525may select whether all regions or specific regions. If specific regionsonly is selected, then specific regions prompt 530 may select specificregions to limit geography (e.g., Americas-Central-Cent-ral US,Americas-East-Eastern US, Americas-North-Canada, Americas-South-LatinAmerica, Americas-West Western US, or the like). One of ordinary skillin the art would recognize that any number of specific regions may beemployed and that this is just one example.

A security classification prompt 535 may be selected to place additionalaccess controls on the content, for example, unclassified (accessible toanyone), or, for example, classified, for access only by a specificcompany's employees. A content type prompt 540 may select the type ofcomponent such as news alerts, expert contacts, selling focus or othergeneral classification of categories of the content.

FIGS. 6A and 6B are an embodiment of a content information table createdto characterize a content object, generally denoted by reference numeral600. This table may typically be maintained by server 125. The exampleof FIGS. 6A and 6B (FIG. 6B is a horizontal continuation of FIG. 6A)parallels the information obtained via the content publishing form ofFIG. 5. Row 607 is a title row for each column, and each subsequent row608 a-f characterizes a content object and is “tagged” based oncategories defined in this information table. Each row of the contentinformation table defines a content tag vector (CTV).

Column 605 indicates whether the object (of a particular row) isclassified or unclassified. In this example, all are unclassified. Thisindicator is used to compare with the classification of a user (i.e.,unclassified or classified) and any classified content being restrictedfor access to an unclassified user. Column 610 indicates the audience ofthe content object and, in this example, all rows indicate “sector”.Column 615 indicates the geography domain which may include, forexample, Americas, Asia-Pacific, or EMEA, or the like. In this example,“Americas” has been selected. Column 620 indicates which specificregions are applicable, in this example, “Central” has been selected(i.e., Central US).

Column 625 indicates if a particular country is indicated and, in thisexample, no country has been indicated. Column 630 indicates with whichsector(s) this content object is associated and, in this example, thesector indicates “distribution”. Column 635 indicates which industry isindicated, in this example, “retail” has been indicated for all contentobjects. Column 640 indicates the language of the content object. Column645 indicates the category of interest which a user may select to accessthis content object. For example, a category of query may be NewsAlertsor Expert contacts, or any other category of information. Thesecategories may be used by a user to receive information associated andfocused under these categories, as discussed below.

Column 650 provides the content name that is associated with the contentobject and may be any type of identifier such as, for example, a .giffile, html file, or similar file/object type. Column 655 indicates thecontent object path to where the content object may be located,typically a uniform resource locator (URL), or similar link. Column 660indicates the current status of each of the content object and mayinclude “new” or “deleted” statuses. Column 665 provides a time stampeither an initial value (e.g., NULL, or other known initial time value)if a new row or a time stamp of the last update for the content objectassociated with the row. This time stamp governs if and when an updateto a user is to occur, as discussed below.

Referring now to FIG. 6B, row 607 continues the titles for each column,and the contents of row 608 a is replicated (in this example, but may bedifferent as necessary) for every remaining row 608 b-608 f. Column 670indicates the URL or other navigable address for the object of each row.Column 675 provides a URL description for easy recognition and column680 provides an application category associated with the content objectwhich is employed when creating navigation pages for a user'sconvenience. Column 685 is an indicator denoting an intended use for theobject; in this instance it reflects that the object is customerviewable (other options may be for example, sales force, internal use,employee viewable, etc). This indicator constrains a content object to aset of users as defined by a corporation or other controlling entity sothat content may be kept confidential and limited to various sets ofusers.

Column 690 provides an Abstract of the object defined by each of therows (608 a-f).

Table 1 is an example of a hypertext markup language (html) listing.

TABLE 1 <HTML> <HEAD> <META NAME=“APP_CATEGORY” CONTENT=“News”> <METANAME=“INDUSTRY” CONTENT=“Retail”> <META NAME=“INDUSTRY_DESC”CONTENT=“Retail”> <META NAME=“URL”CONTENT=“../NonConf/NewsAlerts/JDSE-5LPL3A/JDSE-5LPLA3A.html”> <METANAME=“URL_DESC” CONTENT=“More retailers may look to start magazines”><META NAME=“INTENDED_USE” CONTENT=“Customer Viewable”> <METANAME=“ABSTRACT” CONTENT=“A magazine venture between X-Mart Stores andpublisher X Inc. that is expected to be unveiled soon could help spawn anew generation of magazines sold exclusively at specific stores, such asclothing retailers or even restaurants, industry experts say. XXX.com ”><META NAME=“CREATE_DATE” CONTENT=“07/17/2003 09:53:57 AM”><TITLE>ContactPoint - News&Alerts - Distribution Sector: More retailersmay look to start magazines </TITLE></HEAD> <BODY TEXT=“000000”BGCOLOR=“FFFFFF”> <TABLE WIDTH=“100%” BORDER=0 CELLSPACING=0CELLPADDING=0> <TR VALIGN=top><TD WIDTH=“1%” BGCOLOR=“FFFFFF”><IMGSRC=“Image0.gif” BORDER=0 HEIGHT=1 WIDTH=12 ALT=“”><BR> </TD></TR></TABLE> <TABLE WIDTH=“100%” BORDER=0 CELLSPACING=0 CELLPADDING=0> <TRVALIGN=top><TD WIDTH=“62%”><IMG SRC=“Image1.gif” WIDTH=196HEIGHT=45><BR> <BR> <FONT SIZE=5 COLOR=“0000FF”FACE=“Verdana”>NEWS</FONT></TD><TD WIDTH=“38%”> <TABLE WIDTH=“100%”BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR VALIGN=top><TDWIDTH=“31%”><DIV ALIGN=right><FONT SIZE=1 COLOR=“0000FF”FACE=“Verdana”>Geography:</FONT></DIV></TD><TD WIDTH=“2%”><IMGSRC=“Image0.gif” BORDER=0 HEIGHT=1 WIDTH=1 ALT=“”></TD><TDWIDTH=“67%”><FONT SIZE=1 FACE=“Verdana”>Americas - Central -CentralUS</FONT></TD></TR>

The content of Table 1 in html may be created by the content submissiontool 135 using tabularized data such as, for example, the tabulated dataof FIGS. 6A and 6B. The html may be used, in embodiments, when searchingof content is performed on the client workstation and typically not froma server. In this case, the content tagging and categorization may beconveyed via the html to the client workstation via the server 120 forcreating navigation pages, or the like. The html is reflective of thecontent objects and/or CTV. One of ordinary skill in the art wouldrecognize that this listing is just one example and other listings mayalso be equally feasible such as XML or standard generalized markuplanguage (SGML).

The exemplary listing includes, in part, application category of “news”(reflective of Category 680), industry content of “retail” (reflectiveof Industry column 635), and geography (reflective of Geography column615 and Region column 620). The html listing may also include otherentries such as URL definition and description, Abstract for providing abrief description of the content object, and a creation date. Any columnof FIGS. 6A and 6B may be represented in the html listing. This listingmay be provided to a client workstation (e.g., 110) so that navigationpages may be built at the workstation for access to content information,and, in embodiments, provided as a service of the server 120.

FIG. 7A is an illustrative diagram showing an exemplary logicalorganization of content based on a user's interests, classification orresponsibilities. When content is supplied to a user (or workstation)based on the user's profile and matching content (e.g., as provided bythe processes of FIG. 2), the information may be organized intodifferent presentations for a user's convenience and access. Forexample, referring to FIG. 7A, sets of information may be organized byapplication category based on content categories. The sets ofinformation 750 a-750 c may be created according to useful topics (e.g.,selling focus 705 a, expert contacts 750 b, or news alerts 750 c) forready and convenient access by a user.

Each set may be represented by a vector of category objects 755, asdefined by column 645 of FIG. 6A. Each set includes a vector of contentdescriptor objects 760, e.g., for each row of FIGS. 6A and 6B, thatsummarizes each column of FIGS. 6A and 6B, and is contained within eachApp_Category object.

FIG. 7B is an embodiment of a GUI for navigating content, generallydenoted by reference numeral 770. The GUI shows that News and Alerts GUIhas been selected by a user who may wish to see information pertainingto “News and Alerts.” In this example, the only industry choiceavailable for this user (e.g., due to the user's profile) is “Retail”775. If, however, the user's profile indicated other industries, therewould typically be choices on this GUI corresponding to those industriesas well. It should be understood that there may typically be similarGUIs, not shown, for Selling Focus 750 a and Expert Contacts 750 b, forexample, navigable to and from any other user GUI.

FIG. 7C is an embodiment of a navigation page, generally denoted byreference numeral 780. This navigation page is reflective of the choice“Retail” 775 as designated by the Industry tag 785. This navigation pagesummarizes any news since the last time the user has been to thisnavigation page. Alternatively, this information may be kept until theuser decides to release the information. The news is segregated bycategories according to new content that has been matched against theuser's profile (e.g., by processes 2A-2F). Further, navigation links 790a-790 c are fully operative to be used as a navigation link by clickingon the link, for example, to the actual information either on the server120 or other site, or in embodiments, on the client workstation 110, ifdownloaded. A synopsis of the “Intended Use” 792 a-c, also providedcorresponds to information of column 685 (FIG. 6B). Also, an “Abstract”795 a-c may be provided, corresponding to column 690 of FIG. 6B. One ofordinary skill in the art would recognize that any information may beincluded in the navigation page from FIGS. 6A and 6B, as appropriate,and that the features discussed herein are just one example. One ofordinary skill in the art would recognize that the navigation pages maybe organized in different fashions with more navigation choices offeredbased on various values in the multiple columns of FIGS. 6A and 6B. Thenavigation pages may be constructed in a hierarchical manner, forexample, with different sequences based on the particular situation ofusers.

In embodiments, the examples of FIGS. 7A, 7B and 7C may be implementedand executed from either a server, in a client server relationship, orthey may run on a user workstation with operative information conveyedto the user workstation to create the navigation pages of FIGS. 7B and7C.

FIG. 8 is an embodiment of the invention showing steps of usercategorization, beginning at step 800, or alternatively, at step 840. Atstep 805, a user logs into a website or server providing a uniqueidentifier. This unique identifier may be a user ID or account number,for example. At step 815, the user identifier is compared to a databasetable to determine if this is a known user. At step 820, a check is madeif the user is a new user or a known user. If not a new user, at step835, the user's updated interests (and/or responsibilities) may beresubmitted. If, however, there is a new user, then the processcontinues at step 825. Alternately, entry to this process may be viastep 840 for existing users and for access by a cooperating source orproxy.

At step 845, a user's profile may be updated and changed by acooperating source or proxy (e.g., another department or management) onbehalf of the user. At step 825, user information is collected, such asuser interests or responsibilities, typically using a form. At step 830,a profile of the user is created and categorized and stored in adatabase table. This profile categorizes the user's interest and/orresponsibilities and may be time stamped for each unique combination ofinterest categories. The time stamp indicates the last time the userreceived an update for content that matches the combination of interestcategories. When a new interest is created, the time stamp is set to aknown initialized value (e.g., a NULL value) which subsequently causesall matching content (i.e., all relevant content for that category) tobe provided, essentially regardless of content dates so that a baselineof content information is provided to a user. The process ends at step835.

FIG. 9 is an embodiment of the invention showing steps of contentcategorization, beginning at step 900. At step 905, an informationcontent (e.g., video, text, documents, files, animation, media, or thelike) provider initiates creation, modification, update, or deletion ofcontent typically using a content submission toolset, typically via acontent categorization form. At step 910, a check is made whether theuser has created new content. If so, then at step 915, applicableinterest categories are identified for each piece of content, typicallyusing the form provided by the submission toolset. Alternatively, inembodiments, the categories may be identified as a post creationprocess. At step 920, the content is physically made available on awebsite, library, or database, for example. At step 925, the combinationof interest categories associated with each piece of content are enteredinto a content information database with a time stamp for indicatingwhen the content was last altered (or created if the first instance).Every primitive piece of content may be assigned a timestamp. Theprocess ends at step 990.

If, however, it is not new content at step 910, for example, an updateof category or deletion, then at step 930, a query of the content datatable is made to find combinations of interests categories associatedwith each piece (or object) of content. At step 935, a check is madewhether this is a deletion of content. If so, then at step 937, anindication that a delete action is made typically in the content datatable and the content time stamp is updated. This delete indication mayprevent new users from having deleted entries built into theirnavigation pages. At step 940, at a time different from step 937 (forexample, an hour, day, or other time base) the content is physicallydeleted. The time difference provides a reasonable assurance that if auser is currently accessing/using the content during a session, nobroken links to the content will occur during the current session; thatis, the user currently has a working link and expects it to work inaccessing the content during the current session. At step 942,references to the deleted content object or piece of content may bedeleted in the content database. The process ends at step 990.

If, however, it there is not a deletion at step 935 such asre-categorization or time stamp update, then at step 945, thecategorization of the submitted content categorization form is comparedwith the stored categorization of each piece of content. At step 950, acheck is made whether each piece is the same categorization. If yes,then at step 970, the changed content is physically replaced for eachpiece of content. At step 975, the timestamp is updated in the contentdatabase for each piece of content. The process ends at step 980.

If not the same categorization at step 950, such as re-aligning contentinto new/different categories, then at step 955, each re-categorizedcontent is physically replaced. At step 960, unused references aredeleted from the content information database and any new references areadded. Timestamps are updated. The process ends at step 990.

FIG. 10 is an embodiment of the invention showing steps ofcategorization matching, beginning at step 1000. At step 1005, a usertakes action to navigate through content by, for example, logging onto aserver or selecting a navigation link. At step 1010, the latest list orset of user's interests or responsibility categories is queried from adatabase maintaining the user's profile. At step 1015, a query to obtainthe latest list of categories from a content information database thatmatch the user's interest profile categories is issued. At step 1020,the two resulting sets are organized by application category inanticipation of building navigation pages. At step 1025, navigationpages are built from the organized content and user's interestinformation. The process ends at step 1030.

FIG. 11 is an embodiment of the invention showing steps ofcategorization matching on a client, beginning at step 1050. Indifferent implementations, content category information may be obtainedfrom different sources. When content objects are initially built, thecontent categorization may be defined via meta tags that are within eachcontent object's corresponding html file. At step 1055, content objectsand corresponding html files defining the content categorization viameta tags are sent to a client. At step 1060, a user's interest set ismatched with the content set using the meta tags in each object. At step1065, the two resulting sets are organized by application category inanticipation of building navigation pages. At step 1070, navigationpages are built from the organized content and user's interestinformation. The process ends at step 1075.

While the invention has been described in terms of embodiments, thoseskilled in the art will recognize that the invention can be practicedwith modifications and in the spirit and scope of the appended claims.

What is claimed:
 1. A computer program product comprising a computerreadable hardware storage device and program instructions stored on thecomputer readable hardware storage device, the program instructionscomprising: program instructions to update stored content informationregarding one or more content objects in a content information databasewith new content information; program instructions to process userprofile vectors of a user profile of a user and content tag vectors ofthe one or more content objects by matching corresponding tags in theuser profile vectors and the content tag vectors to generate a list ofcurrently matching content identifiers; and program instructions toreview the currently matching content identifiers to determine if anynew updates are required by comparing a last update timestamp onmatching corresponding tags of the user profile vectors and the contenttag vectors to detect whether a change in the user profile has occurredor a change to the one or more content objects has occurred.
 2. Thecomputer program product of claim 1, further comprising programinstructions to provide, to the user, a detected change that hasoccurred in the user profile or the one or more content objects.
 3. Thecomputer program product of claim 1, wherein the updating the storedcontent information in the content information database includesdeleting unused references to the one or more content objects in thecontent information database.
 4. The computer program product of claim3, further comprising program instructions to add new references to theone or more content objects in the content information database.
 5. Thecomputer program product of claim 3, wherein the updating the storedcontent information in the content information database includesupdating timestamps of the one or more content objects in the contentinformation database, wherein the updated timestamp indicates when theone or more content objects was last altered.
 6. The computer programproduct of claim 1, further comprising program instructions to determinethat new content information does not represent a deletion of content.7. The computer program product of claim 1, further comprising programinstructions to query the content information database to determinewhether a deletion request has been received when it is determined thatthe received content information is not new content information.
 8. Thecomputer program product of claim 7, further comprising programinstructions to initiate a delete action regarding the one or morecontent objects that the received content information pertains to whenit is determined that the deletion request has been received.
 9. Thecomputer program product of claim 8, further comprising programinstructions to delay physical deletion of the one or more contentobjects by a predetermined period of time to avoid broken links to theone or more content objects during a current user session.
 10. Thecomputer program product of claim 7, further comprising programinstructions to compare a categorization of the received contentinformation regarding the one or more content objects to an originalcategorization for the one or more content objects when it is determinedthat the deletion request has not been received.
 11. The computerprogram product of claim 1, wherein the list of currently matchingcontent identifiers comprises a comprehensive list of the currentlymatching content identifiers.
 12. The computer program product of claim11, further comprising program instructions to provide the one or morecontent objects associated with the comprehensive list of currentlymatching content identifiers to the user.
 13. The computer programproduct of claim 12, wherein the one or more content objects associatedwith the comprehensive list of currently matching content identifiers isprovided to the user in accordance with a predetermined schedule. 14.The computer program product of claim 12, wherein the one or morecontent objects associated with the comprehensive list of currentlymatching content identifiers is provided to the user in response to ademand by the user.
 15. A system, comprising: a processor; a computerreadable hardware storage device; program instructions to update storedcontent information regarding one or more content objects in a contentinformation database with new content information; program instructionsto process user profile vectors of a user profile of a user and contenttag vectors of the one or more content objects by matching correspondingtags in the user profile vectors and the content tag vectors to generatea list of currently matching content identifiers; and programinstructions to review the currently matching content identifiers todetermine if any new updates are required by comparing a last updatetimestamp on matching corresponding tags of the user profile vectors andthe content tag vectors to detect whether a change in the user profilehas occurred or a change to the one or more content objects hasoccurred.
 16. The system of claim 15, further comprising programinstructions to provide, to the user, a detected change that hasoccurred in the user profile or the one or more content objects.
 17. Thesystem of claim 15, further comprising: maintaining a table based on theuser profile, wherein each row of the table includes: a user ID; aclassification identifier that denotes classified or unclassified; anaudience identifier; a geographic identifier; a row status identifierindicating whether the row is new; and a last change time identifierincluding one of the timestamps of the interest category.
 18. The systemof claim 17, further comprising program instructions to determine thatthe updated content object stored in the content information databasedoes not represent a deletion of content.